package com.prj.ufdm.cloud.ms.auth.api;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSONObject;
import com.prj.ufdm.cloud.base.dto.RetData;
import com.prj.ufdm.cloud.ms.auth.bpo.SysUserFunctionBPO;
import com.prj.ufdm.cloud.ms.auth.model.SysFunction;

/**
 * 系统功能控制类
 * @author 胡义振  
 * @date 2018年3月26日
 */
@RequestMapping(value = "/api/auth/sysuserfun")
@Controller
public class SysUserFunctionController {
	
	@Autowired
	SysUserFunctionBPO sysUserFunctionBPO;
	

	/**
	 * DESC: 根据用户ID查询系统功能
	 * @auther 胡义振
	 * @date 2020年1月14日
	 * @param userId
	 * @return
	 * @throws Exception 
	 * @return
	 */
	@RequestMapping(value = "/doGetFunctionListByUserId")
	@ResponseBody
	public RetData<List<SysFunction>> doGetFunctionListByUserId(String userId) throws Exception {
		RetData<List<SysFunction>> retData = new RetData<List<SysFunction>>();
		retData.setRetBody(sysUserFunctionBPO.doGetFunctionListByUserId(userId));
		return retData;
	}
	
	/**
	 * 根据用户ID查询系统功能（JSON格式层次结构）
	 * @return
	 * @author 胡义振  
	 * @date 2018年3月26日
	 */
	@RequestMapping(value = "/doGetMenuJsonByUserId")
	@ResponseBody
	public RetData<List<JSONObject>> doGetMenuJsonByUserId(String userId) throws Exception {
		RetData<List<JSONObject>> retData = new RetData<List<JSONObject>>();
		retData.setRetBody(sysUserFunctionBPO.doGetMenuJsonByUserId(userId));
		return retData;
	}
	
}
